专利摘要:
トリガの使用を介するクライアントデバイスの対話型コンテンツへのアクセスが開示される。クライアントデバイスは、テレビジョン通信ネットワークに結合され、少なくとも1つのトリガを含む符号化された放送ビデオストリームを受信する。クライアントデバイスは、符号化された放送ビデオストリームを復号化し、トリガのために放送ビデオストリームを構文解析する。放送ビデオストリームが構文解析されるときに、ストリームは表示デバイスに出力される。トリガが識別される場合に、クライアントデバイスは、自動的に対話型コンテンツチャネルに同調させる。クライアントデバイスは、処理オフィスにテレビジョン通信ネットワークを介してトリガを示す信号を送信する。処理オフィスは、次いで、クライアントデバイスにコンテンツを提供するためにトリガ信号内に含まれる情報を用い得る。
公开号:JP2011514053A
申请号:JP2010547722
申请日:2009-02-18
公开日:2011-04-28
发明作者:ドナルド ゴードン,;レーナ;ワイ. パブロフスカイア,;グレゴリー;イー. ブラウン,;エドワード ラドビグ,;アイラン ランドー,
申请人:アクティブビデオ ネットワークス, インコーポレイテッド;
IPC主号:H04N7-173
专利说明:

[0001] (関連出願の引用)
本特許出願は、2008年2月21日に出願された、発明の名称「Using Triggers with Video for Interactive Content Identification」の米国特許出願第12/035,236号に基づく優先権を主張するものであり、その内容全体が参考として本明細書中に援用される。]
[0002] (技術分野)
本発明は、対話型の符号化されたビデオに関し、より具体的には、復号器と限られたキャッシュ能力とを有するクライアントデバイスによって用いられ得る対話型MPEGビデオに関する。]
背景技術

[0003] ケーブルテレビシステムのセットトップボックスは、好ましくは、単純なデバイスであった。ボックスは、概して、QAM復号器と、MPEG復号器と、リモコンから信号を受信し、信号をケーブルヘッドエンドに転送するトランシーバとを含む。コストを抑えるために、セットトップボックスは、パーソナルコンピュータ内に見出されるような洗練されたプロセッサあるいはコンテンツまたはプログラムをキャッシュする大量のメモリを含んでいなかった。結果として、動的ウェブページにおいて見出されるような符号化されたビデオエレメントを含む対話型コンテンツを加入者に提供することを試みる開発者は、セットトップボックスと互換性のある解決策を見出すことを強いられてきた。これらの解決策は、処理機能性をケーブルヘッドエンドに備えさせることを必要とし、さらに、コンテンツがMPEGフォーマットで送達されることを必要としている。動的ウェブページのコンテンツを提供するために、ウェブページを形成するコンテンツは、最初に復号化され、次いでビットマップとしてウェブページフレーム内に描かれなければならない。次に、描かれたフレームは、次いで、要求ユーザのセットトップボックスが復号化し得るMPEGストリームの中に再符号化される。この復号化および再符号化のスキームは、プロセッサ集約型である。]
[0004] ケーブルテレビのコンテンツプロバイダによって遭遇された問題に類似して、携帯電話上の対話型コンテンツを作り出すことを望むコンテンツプロバイダは、携帯電話のハードウェアによって制限を受けてきた。コンテンツプロバイダは、携帯電話プラットホーム間の様々なハードウェアおよびソフトウェアの不一致のために、複数のバージョンのコンテンツを作成することを強いられてきた。]
[0005] トリガは、広告の挿入時点を示すためにテレビジョンプログラムによって用いられている。アナログテレビジョン信号では、トリガは帯域の外に配置されている。デジタルの時代において、トリガ挿入のためのプロトコルが開発されている。例えば、ANSIは、デジタル伝送SCTE−35によって使用する規格を開発しており、その規格は、ケーブルヘッドエンドに対して、ローカルな広告の挿入のためのデジタル放送内の場所を識別する仕組みを提供する。]
課題を解決するための手段

[0006] (発明の概要)
第一の実施形態において、MPEG復号器を有するクライアントデバイスと関連づけられたディスプレイデバイス上に表示するための対話型MPEGコンテンツを提供するシステムが開示される。このシステムは、クライアント/サーバ環境において動作し、ここでサーバは、クライアントデバイスによって要求される対話型セッションに割り当てられ得る複数のセッションプロセッサを含む。セッションプロセッサは、JAVA(登録商標)バーチャルマシンなどのバーチャルマシンを実行する。バーチャルマシンは、アプリケーションに対する要求に応答して、要求されたアプリケーションにアクセスするコードを含む。さらに、バーチャルマシンは、アプリケーションを構文解析し、スクリプトを翻訳する能力がある。アプリケーションは、複数のMPEGエレメントで構成されるMPEGフレームに対するレイアウトを含む。アプリケーションは、また、1つ以上のMPEGオブジェクトを参照するスクリプトを含み、1つ以上のMPEGオブジェクトは、コンテンツがMPEGオブジェクトの外部に格納されている場合に、符号化されたオーディオ/ビデオコンテンツにアクセスするための対話型機能性と、MPEGエレメント(MPEG符号化されたオーディオ/ビデオ)または方法論とを提供する。]
[0007] MPEGオブジェクトは、MPEGオブジェクトによって受信されたデータと、MPEGオブジェクトによって出力されたデータとを規定するオブジェクトインターフェースを含む。さらに、MPEGオブジェクトは、1つ以上のMPEGビデオまたはオーディオエレメントを含む。MPEGエレメントは、好適には、エレメントがMPEGビデオフレームを形成するように共にステッチされ得るように調整される(groomed)。いくつかの実施形態において、MPEGエレメントは、MPEGオブジェクトの外に位置し、MPEGオブジェクトは、MPEGエレメントにアクセスする方法を含む。特定の実施形態において、MPEGオブジェクトは、複数のMPEGビデオエレメントを含み、各エレメントは、MPEGオブジェクトに対する様々な状態を表す。例えば、ボタンが「オン」状態および「オフ」状態を有し得、MPEGボタンは、各状態に対する複数のマクロブロック/スライスで構成されるMPEGエレメントを含む。MPEGオブジェクトは、また、オブジェクトインターフェースを介してクライアントデバイスからの入力を受信することと、オブジェクトインターフェースを介してMPEGオブジェクトからのデータを出力することとを行う方法を含む。]
[0008] バーチャルマシン上で実行するプログラムが、アプリケーションにおいて示されるMPEGオブジェクトの全てを取得した後、バーチャルマシン上のプログラムは、MPEGエレメントおよびレイアウトをステッチャに提供する。特定の実施形態において、アプリケーションを取り出し、構文解析することと、スクリプトを翻訳するためのバーチャルマシンおよびプログラムは、ステッチャに含まれ得る。ステッチャは、次いで、MPEGエレメントの各々を、MPEGフレーム内のそれらの位置において共にステッチする。ステッチされたMPEGビデオフレームは、任意のMPEGオーディオコンテンツおよび追加のデータストリームを多重化するマルチプレクサにわたされ、MPEGビデオフレームは、クライアントデバイスに方向付けられるMPEGトランスポートストリームに配置される。特定の実施形態において、マルチプレクサは、ステッチャ内部にあり得る。クライアントデバイスは、MPEGフレームを受信し、次いで、ビデオフレームを復号し、関連づけられたディスプレイデバイス上に表示する。このプロセスは、クライアントデバイスに送られる各ビデオフレームに対して繰り返される。クライアントが要求と相互作用し、要求をする(例えば、ボタンオブジェクトの状態を変える)とき、MPEGエレメントと関連してバーチャルマシンは、ステッチャに提供されたMPEGエレメントを更新し、ステッチャは、クライアントデバイスの要求に基づいて、MPEGビデオフレーム内のMPEGエレメントを置き換える。特定の他の実施形態において、MPEGオブジェクトの様々な状態を表す各MPEGエレメントは、ステッチャに提供される。バーチャルマシンは、クライアントの要求をステッチャに転送し、ステッチャは、MPEGビデオフレームにステッチするために、バッファからのMPEGオブジェクトに基づいて適切なMPEGエレメントを選択する。]
[0009] 対話型MPEGアプリケーションは、オーサリング環境において構築され得る。オーサリング環境は、1つ以上のシーンウィンドウを有するエディタを含み、この1つ以上のシーンウィンドウは、ユーザが、シーンウィンドウ内のMPEGオブジェクトの配置に基づいてシーンを作り出すことを可能にする。オブジェクトツールバーは、オーサリング環境内に含まれ、オブジェクトツールバーはMPEGオブジェクトが追加されることを可能にする。オーサリング環境は、また、アプリケーションファイルを生成するプロセッサを含み、アプリケーションファイルは、少なくともMPEGオブジェクトに対する参照と、シーン内のMPEGオブジェクトの各々の表示位置とを含む。好適には、MPEGオブジェクトがシーンウィンドウ内に配置されるとき、MPEGオブジェクトに対するMPEGビデオエレメントは、マクロブロック境界に自動的にスナップされる。シーンに追加される各MPEGオブジェクトに対して、オブジェクトに対するプロパティは修正され得る。オーサリング環境は、また、プログラマが、MPEGオブジェクトを使用するためのスクリプトを作り出すことを可能にする。例えば、アプリケーション内のスクリプトは、ボタン状態をプログラムの実行と関連させ得る。オーサリング環境は、また、新しいMPEGオブジェクトの生成を提供する。設計者は、ビデオファイルまたは静止画像などのグラフィカルコンテンツを提供することによってMPEGオブジェクトを作り出し得る。オーサリング環境は、コンテンツがMPEGエレメント/スライスまたはMPEGエレメント/スライスのシーケンスを含むように、グラフィカルコンテンツを符号化する。MPEGビデオリソースを規定することに加えて、オーサリング環境は、設計者が、MPEGオブジェクトにメソッド、プロパティ、オブジェクトデータおよびスクリプトを追加することを可能にする。]
[0010] さらなる実施形態において、クライアントデバイスにおける対話型コンテンツへのアクセスは、トリガの使用を介して提供される。クライアントデバイスは、テレビジョン通信ネットワークに結合され、少なくとも1つのトリガを含む符号化された放送ビデオストリームを受信する。クライアントデバイスは、符号化された放送ビデオストリームを復号し、放送ビデオストリームをトリガについて構文解析する。放送ビデオストリームが構文解析されるので、ストリームはディスプレイデバイスに出力される。トリガが識別されるとき、クライアントデバイスは、対話型コンテンツチャネルに自動的に同調する。クライアントデバイスは、トリガを示す信号を、テレビジョンネットワークを介して処理オフィスに送る。次いで、処理オフィスは、コンテンツをクライアントデバイスに提供するために、トリガ信号内に含まれる情報を使用し得る。コンテンツは、対話型コンテンツ、静止コンテンツ、あるいは対話型コンテンツまたは静止コンテンツとステッチされた放送プログラムであり得る。次いで、クライアントデバイスのユーザは、任意の対話型コンテンツと相互作用し得る。いくつかの実施形態において、対話型コンテンツは広告であり得る。]
[0011] ユーザは、クライアントデバイスまたは処理オフィスのいずれかにおいてメモリに格納されるユーザプロフィールを作り出し得る。次いで、ユーザのプロフィールは、コンテンツと、クライアントデバイスに送信されるコンテンツの形態とに関する決定を行うために、アクセスされ、使用され得る。例えば、ユーザプロフィールとトリガ情報との間の比較がなされ得、これらが互いに関連する場合、トリガ情報に関するコンテンツがクライアントデバイスに提供される。]
[0012] 他の実施形態において、処理オフィスは、トリガを含むビデオプログラムを受信し、ビデオプログラムを構文解析してトリガの位置を識別する。トリガを識別すると、処理オフィスは、トリガ情報に基づいて、コンテンツをビデオプログラムに自動的に組み込み得る。処理オフィスは、ビデオプログラムに対するチャネルに同調される各クライアントデバイスに強制信号を送り得、この強制信号は、クライアントデバイスを対話型チャネルに同調させる。処理オフィスは、また、ビデオプログラムを現在視聴している各ユーザのプロフィールにアクセスし得、次いで、各クライアントデバイスに送信されるべきコンテンツを決定するためにこのプロフィールを使用し得る。]
[0013] いったん処理オフィスがトリガ、クライアントデバイスおよびコンテンツを識別すると、処理オフィスは、ビデオプログラムと新しいコンテンツとを共にステッチする。他の実施形態において、処理オフィスは、ビデオプログラムの各フレームをスケールするスケーラを含む。いったんビデオプログラムがサイズを低減されると、低減されたビデオプログラムは、新しいコンテンツと低減されたビデオプログラムコンテンツとを共にステッチするステッチャに提供される。材料の両方のソース、すなわちビデオコンテンツおよび新しいコンテンツは、共通のフォーマット(例えば、MPEG)である。低減されたビデオコンテンツおよび新しいコンテンツのマクロブロックは、共にステッチされ複合ビデオ信号を生成する。新しいビデオコンテンツは、MPEGオブジェクトを用いて作り出された静止情報または対話型情報であり得る。例えば、新しいコンテンツは、L形状を形成し得、低減されたビデオコンテンツはビデオフレームの残りに存在する。新しいコンテンツはビデオプログラム全体にわたって存在する必要はなく、各トリガは、新しいコンテンツと、新しい材料の提示のための期間との両方を識別し得る。]
[0014] 本発明の複数の実施形態において、ユーザプロフィールは、ユーザが、ビデオプログラムを視聴するために料金を低減するかまたは料金をかけない代わりに1つ以上の広告を視聴することを望んでいることを示すデータを含み得る。ユーザは、また、ビデオプログラムまたはチャネルに関連づけられた料金の低減の代わりに調査情報を完成し得る。]
[0015] 他の実施形態において、セッションが、処理オフィスと、テレビジョン通信ネットワーク内の各アクティブなクライアントデバイスとの間で、最初に確立される。処理オフィスは、コンテンツプロバイダからビデオプログラムを受信し、処理オフィスは、1つ以上のトリガを識別するためにビデオプログラムを構文解析する。トリガが識別されるとき、処理オフィスは、全ての視聴者またはユーザがトリガに関するコンテンツを受信することを望む彼らの個人プロフィールを示している全ての視聴者またはユーザに、トリガが適用されるかどうかを理解するためにトリガを分析する。トリガが全ての視聴者に適用される場合、処理オフィスは、トリガに関連づけられた新しいコンテンツを取り出し、ビデオプログラムをスケールし、ビデオプログラムと新しいコンテンツとをステッチし、ステッチされたビデオプログラムを、現在動作しており、ビデオプログラムに同調されているクライアントデバイスに送信する。トリガが選択された視聴者に適用される場合に、処理オフィスは、処理オフィスと通信し、ビデオプログラムに関連づけられたチャネルに同調される各クライアントデバイスに関連づけられた個人プロフィールを取り出す。処理オフィスは、次いで、プロフィール情報とトリガとの比較をし、互いに関連している場合には、処理オフィスは、ビデオプログラムを、ビデオプログラムにステッチされた新しいコンテンツと共に、ユーザプロフィールに関連づけられたクライアントデバイスに送信する。]
図面の簡単な説明

[0016] 本発明の上記の特徴は、添付の図面を参照して理解される以下の詳細な説明を参照することによってさらに容易に理解される。
図1は、クライアント/サーバ環境において用いられるような、アトミックMPEGオブジェクトの例を図的に示す。
図1Aは、ステッチャとクライアントデバイスからのイベントとの間のプロセスフローを示すフローチャートである。
図2は、クライアント/サーバ環境において用いられるような、ストリーミングMPEGオブジェクトの例を図的に示す。
図2Aは、いくつかのセッションプロセッサを使用している実施形態を図的に示す。
図3は、アトミックMPEGボタンオブジェクトのために例示的なデータ構造および擬似コードを提供する。
図4は、進捗バーMPEGオブジェクトのために例示的なデータ構造および擬似コードを提供する。
図5は、MPEGオブジェクトを用いるアプリケーションを作成する、オーサリング環境の例示的なスクリーンショットを示す。
図6Aは、MPEGオブジェクトのためにプロパティタブの例示的なスクリーンショットを示す。
図6Bは、MPEGオブジェクトのためにイベントタブの例示的なスクリーンショットを示す。
図6Cは、MPEGオブジェクトを用いるアプリケーションのためにスクリプトを作成するように用いられ得るスクリプトエディタの例示的なスクリーンショットを示す。
図6Dは、対話型コンテンツのためにMPEGオブジェクトを用いるための、システムを示す。
図7は、ビデオプログラムの中にステッチされるべき追加のコンテンツに指定するトリガを用いるための環境を示す。
図7Aは、トリガがネットワークの中でスイッチを引き起こす環境を示す。
図8は、クライアントデバイスにおけるトリガの識別に関するフローチャートである。
図9は、処理オフィスにおけるトリガの識別に関するフローチャートである。] 図1 図1A 図2 図2A 図3 図4 図5 図6A 図6B 図6C
実施例

[0017] 本発明の実施形態は、MPEGオブジェクトを開示し、さらにMPEG復号器を含むクライアントデバイスに対話型の符号化されたビデオコンテンツと、対話型通信ネットワーク内のサーバへのアップストリームのデータ接続とを提供するクライアント/サーバ環境において、MPEGオブジェクトを用いるシステムおよび方法を開示する。詳細な説明および特許請求の範囲において用いられる場合、用語「MPEGエレメントおよびMPEGビデオエレメント」は、MPEG(Motion Picture Experts Group)規格に従ってフォーマットされたグラフィカル情報を表している。グラフィカル情報は、部分的にのみ符号化され得る。例えば、離散コサイン変換を用いて変換コード化されたグラフィカル情報は、量子化、エントロピー符号化、および追加のMPEGフォーマット処理を必要とすることなくMPEGエレメントであると考えられる。MPEGエレメントは、マクロブロックおよびスライスレベルのためのMPEGヘッダ情報を含み得る。MPEGエレメントは、フルMPEGビデオフレームか、連続または不連続のMPEGビデオフレームの一部分(マクロブロックまたはスライス)か、または時間的なシーケンス(フレーム、マクロブロック、またはスライス)を表すデータのうちのいずれかのデータを含み得る。]
[0018] MPEGオブジェクトから形成された対話型コンテンツは、好ましくは、図1に示されるようなクライアント/サーバ環境100において用いられ、クライアントデバイス101は、データをキャッシュするメモリを必要とすることがなく、標準のMPEGビデオ復号器を含む。そのようなクライアントデバイスの例は、セットトップボックスまたはMPEG復号器を含む他の端末である。クライアントデバイスは、キャッシュのために十分なプロセッサとメモリとを含み得るが、これらの要素は、このシステムの動作に必要ではない。クライアント/サーバ環境におけるサーバデバイスは、関連づけられたメモリを含む少なくとも1つのプロセッサから形成されたセッションプロセッサ102を少なくとも含む。] 図1
[0019] クライアント101とサーバとは、対話型セッションを確立し、クライアントデバイス101は、対話型通信ネットワークを介して対話型セッションの要求を伝送する。サーバは、セッションプロセッサ102を割り当て、要求は、割り当てられたセッションプロセッサ102の入力受信器103に送信される。セッションプロセッサ102は、スクリプトをインタプリタ処理し得るバーチャルマシン104を実行する。バーチャルマシン104は、Java(登録商標)バーチャルマシンなどの多くのバーチャルマシンのうちのいずれか1つであり得る。クライアントからの対話型要求に応答して、セッションプロセッサのためのアドレス指定情報がクライアント101に渡される。クライアント101は、次いで、AVML(アクティブビデオマークアップ言語)ファイル内に定義されるような、視聴し相互作用するための対話型アプリケーションを選択する。対話型アプリケーションは、ボタン、リスト、およびメニューなどの選択制御とともにビデオコンテンツを参照することを含み得る。選択されたアプリケーションの要求は、バーチャルマシン104に伝えられる。バーチャルマシン104は、表示デバイス上の表示のために、ビデオシーケンス内のビデオフレームを構成することに必要な任意の他のグラフィカルコンテンツとともに、MPEGオブジェクトを示すアプリケーションを定義するAVMLファイルにアクセスする。AVMLファイルはまた、MPEGオブジェクトの各々を位置決めするための、フレーム内の場所を含む。さらに、AVMLファイルは、1つ以上のスクリプトを含み得る。スクリプトのための1つの使用は、MPEGオブジェクトの状態を維持することである。これらのMPEGオブジェクトは、異なる場所に存在しかつアクセスされ得、分配され得る。MPEGオブジェクトのグラフィカルエレメントは、ステッチャ105によって、アプリケーションファイル(AVMLファイル)内の場所情報に基づいて共にステッチされることにより、完全なMPEGビデオフレームを形成する。MPEGオーディオフレームとともにビデオフレームは、ステッチャ内のマルチプレクサ106で共に多重化されることにより、要求クライアントデバイスに送信されるMPEGストリームを形成する。MPEGストリームは、次いでクライアントのデバイス上で復号化され、表示され得る。入力受信器、バーチャルマシン、およびステッチャは、セッションプロセッサ上で実行され/インタプリタ処理され得るいずれかのコンピュータコードとして組み入れられ得るか、またはハードウェアあるいはハードウェアおよびソフトウェアの組み合わせで組み入れられ得る。いくつかの実施形態において、ソフトウェア(すなわち入力受信器、バーチャルマシン、またはステッチャ)のいずれかは、セッションプロセッサと別個のハードウェア内に構築され得る。さらに、コンピュータプログラムアプリケーションであり得るステッチャは、入力受信器、バーチャルマシンの機能性を組み込み得、アプリケーションファイル(AVML)を処理し、構文解析し得る。]
[0020] 特定の実施形態において、ステッチャは、アプリケーションを要求したデバイスのタイプに基づいてグラフィカルエレメントを共にステッチし得る。デバイスは異なる能力を有する。例えば、特定のデバイス上のMPEG復号器は、同じようにロバストではなく、選択されたMPEG規格のすべての局面を実装することが可能でないことがあり得る。さらに、マルチプレクサとクライアントデバイスとの間の伝送路の帯域幅は変わり得る。例えば、一般に、無線デバイスは、有線デバイスよりも少ない帯域幅を有し得る。従って、ステッチャは、MPEGヘッダパラメータの中に、負荷遅延または無遅延を挿入し、スキップを可能にしたりまたはスキップを不可能にしたり、すべてのフレームがIフレームとして符号化されることを強制したり、または値を表すために必要とされるビット数を低減するために繰り返される一様な量子化を用いたりし得る。]
[0021] MPEGオブジェクトは、個々のMPEGビデオエレメントが共にステッチされることを可能にするプログラミング方法論の一部分であることにより、アクティブエレメントを組み込むビデオストリームのフレームを形成し、クライアントがアクティブエレメントと相互作用し、より具体的には、ビデオストリームを変更し得る。MPEGオブジェクトと関連づけられるMPEGビデオエレメントは、グラフィカルエレメントを形成する複数の符号化されたマクロブロックまたはスライスであり得る。クライアントは、クライアントデバイスを用いることにより、ディスプレイ画面上のグラフィカルエレメントを選択し、そのグラフィカルエレメントと相互作用し得る。MPEGオブジェクト110は、オブジェクトに対するメソッドおよびプロパティとともにMPEGビデオおよび/またはオーディオデータとの関連を含む。MPEGビデオまたはオーディオは、MPEGオブジェクトの内部に存在し得るか、またはリモートファンクションコールを介して外部からアクセスされ得る。MPEGオブジェクト内のメソッドは、オブジェクトの外側からデータを受信し、受信されたデータならびに/またはMPEGビデオ115およびオーディオデータ120を処理し、ビデオおよびオーディオ指令に従ってオブジェクトからのデータを出力し得るコードである。オブジェクトデータ160は、オブジェクトの状態またはオブジェクトに対する他の内部変数を示し得る。例えば、表示優先度などのパラメータは、スタックされたメディアの優先度を決定するために用いられ得る。さらに、コンテンツレーティングなどの親の制御パラメータは、オーディオデータまたはビデオデータ、あるいはオーディオまたはビデオのソースまたはアドレスと関連づけられ得る。親の制御は、コンテンツへのアクセスに関する制御を提供するMPEGオブジェクト内部のメソッドであり得る。]
[0022] 図1に示されるように、バーチャルマシンは、対話型アプリケーション(スクリプトを有するAVMLファイル)の要求に応答して、セッションプロセッサ102上でアクティブにされ、アトミックオブジェクトである第一のMPEGオブジェクト110にアクセスする。アトミックオブジェクトは、オブジェクトに対する視覚状態のすべてを構築するために必要な符号化されたデータおよびメソッドのすべてをオブジェクトが含むという点において自己完結型である。一旦、オブジェクトがバーチャルマシンによって取り出されると、オブジェクトは、別のソースとの追加の通信を全く必要としない。アトミックオブジェクトの例は、フレーム内に表示されるボタンである。ボタンオブジェクトは、ボタンのすべての状態に対するMPEGビデオファイルを有し得、クライアントの相互作用に基づいた状態を格納するメソッドを含む。アトミックオブジェクトは、メソッド130とともに両方の事前符号化されたMPEGデータ(ビデオデータおよびオーディオデータ)115、120を含む。特定の実施形態において、オーディオまたはビデオデータは、最初はMPEGエレメントではなく、バーチャルマシンまたはステッチャによってMPEGエレメントへと変換される、別のフォーマットのグラフィカルデータまたはオーディオデータであり得る。事前符号化されたMPEGデータ115、120に加えて、アトミックオブジェクトは、状態情報などのオブジェクトデータ160を含み得る。オブジェクトは、データをオブジェクトに向け、オブジェクトからのデータを向けるためのスクリプト180とともに、インタフェース定義170を介して外部のソースと相互作用する。インタフェース170は、C++コード、Java(登録商標)スクリプト、またはバイナリ機械コードと相互作用し得る。例えば、インタフェースは、クラス定義に組み入れられ得る。] 図1
[0023] イベントは、クライアントデバイスからのイベントをイベントディスパッチャ111に渡す入力受信器103へと受信され得る。イベントディスパッチャ111は、イベントを処理することが可能なAVMLファイル内のMPEGオブジェクトを識別する。イベントディスパッチャは、次いでイベントをオブジェクトに伝達する。]
[0024] 応答において、インタフェース定義170を介するMPEGオブジェクトは、MPEGビデオ115および/またはオーディオデータ120にアクセスする。MPEGオブジェクトは、イベントを処理するメソッド130を実装し得る。他の実施形態において、インタフェース定義は、データ(オブジェクトデータ、オーディオデータ、およびビデオデータ)に直接アクセスし得る。各々のMPEGオブジェクトは、オブジェクトの異なる状態に関連する複数のMPEGビデオファイルを含み得、状態は、オブジェクトデータ160として格納されている。例えば、メソッドは、ステッチャを現在のフレームに向けるポインタを含み得、ポインタは、ステッチャがビデオフレームを提供されるたびに更新される。同様に、MPEGオーディオデータ120は、MPEGオブジェクト内の関連するメソッドを有し得る。例えば、オーディオメソッド130は、MPEGオーディオデータ120をMPEGビデオデータ115と同期させ得る。他の実施形態において、状態情報は、AVMLファイル11内に含まれる。]
[0025] MPEGオブジェクトおよびMPEGオブジェクトを実装するシステムのためのプロセスフローが、図1Aのフローチャートに示されている。図1Aにおいて、アプリケーションのアクセスおよび構文解析用のすべてのコードは、ステッチャ内に含まれている。ステッチャは、セッションプロセッサ上のバーチャルマシン内で動作するソフトウェアモジュールであり得る。] 図1A
[0026] アプリケーションに対する要求を受信し、アプリケーションを取り出した後、ステッチャは、アプリケーション内に存在する任意のスクリプトを最初にロードする(100A)。ステッチャは、ビデオフレーム用のレイアウトにアクセスし、この情報をメモリの中にロードする(110A)。レイアウトは、背景と、ビデオフレームの全体のサイズと、縦横比と、アプリケーション内の任意のオブジェクトの位置とを含む。ステッチャは、次いでアプリケーション内に存在する任意のMPEGオブジェクトのインスタンス生成を行う(120A)。オブジェクトの状態を追跡し続けるアプリケーション内のスクリプトに基づいて、各々のオブジェクトに対する状態と関連づけられたグラフィカルエレメントが、記憶場所から取り出される。グラフィカルエレメントは、MPEGを除くフォーマットであり得、最初はMPEGエレメントではないことがあり得る。ステッチャが、グラフィカルエレメントのフォーマットを決定する。グラフィカルエレメントが、例えば、TIFFフォーマット、GIFフォーマット、またはRGBフォーマットなどの非MPEGエレメントフォーマットである場合には、ステッチャは、グラフィカルエレメントを空間的表示へと描く(130A)。ステッチャは次いで、グラフィカルエレメントの空間的表示を符号化し、それによって、符号化された空間的表示がMPEGエレメントになる(135A)。従って、MPEGエレメントは、スライスの中に形成されたマクロブロックデータを有する。MPEGオブジェクトと関連づけられたグラフィカルエレメントがすでにMPEGエレメントフォーマットである場合には、レンダリングおよび符号化のいずれも必要ではない。MPEGエレメントは、関連する位置情報を有する1つ以上のマクロブロックを含み得る。ステッチャは次いで、関連するマクロブロック/スライスの情報をレイアウトからの位置情報に基づいてグローバルMPEGビデオフレーム場所へと変換し、スライスの各々を符号化する。スライスは、次いでメモリに格納され、それによって、迅速な取り出しに対してキャッシュされる(140A)。MPEGビデオフレームが次いで作成される。レイアウトに基づいた各々のオブジェクトに対するMPEGエレメントが、MPEGフレーム用のスライスによってスキャン順序に配置される。ステッチャは、MPEGフレームを形成する適切な順序にスライスを順番に並べる(145A)。MPEGビデオフレームは、ステッチャのマルチプレクサに送信され、マルチプレクサは、ビデオフレームを任意のオーディオコンテンツと多重化する。MPEGビデオフレームと任意のオーディオコンテンツとを含むMPEGビデオストリームが、表示デバイス上に表示するために、対話型通信ネットワークを介してユーザのクライアントデバイスに伝えられる(190A)。]
[0027] MPEGフレームに対する変化はイベント駆動である。入力デバイスを介してユーザは、クライアントデバイスを介して信号をステッチャに提供されるセッションプロセッサに送信する(160A)。ステッチャは、イベントディスパッチャを用いてチェックすることにより、受信された入力がアプリケーションのスクリプトによって処理される入力であるか否かを判断する(165A)。入力がスクリプトによって処理される場合には、スクリプト指令が実行され/インタプリタ処理される(170A)。ステッチャは、オブジェクト状態が変化したか否かを決定する(175A)。ステッチャは、そのオブジェクトの状態と関連づけられたグラフィカルエレメントを記憶場所から取り出す(180A)。ステッチャは、イベントが処理された後、グラフィカルエレメントをMPEGオブジェクトと関連づけられた記憶場所から取り出し得るか、またはMPEGオブジェクトは、イベント処理の間にグラフィカルエレメントをステッチャと関連づけられた記憶場所に配置し得る。ステッチャは、再びグラフィカルエレメントのフォーマットを決定する。グラフィカルエレメントが非MPEGエレメントフォーマットであり、従って、マクロブロックおよびスライスに従って構造化されない場合には、ステッチャは、エレメントをMPEGエレメントとしてレンダリングおよび符号化し、エレメントをバッファの中にキャッシュする(130A、135A、140A)。状態変化を表すこの新しいMPEGエレメントは、アプリケーションからMPEGフレームに対してレイアウトによって定義される場所と同じ場所においてMPEGフレームの中にステッチされる(145A)。ステッチャは、MPEGエレメントのすべてを集め、スライスをスキャン順序に配置し、適切なMPEG規格に従ってフレームをフォーマットする。MPEGフレームは、次いで表示のためにクライアントデバイスに送信される(190A)。システムは、次のイベントが状態変化を引き起こし、従って、フレームレイアウト内の1つ以上のMPEGエレメントに対する変化を引き起こすまで、MPEGフレームをMPEGストリームの中に出力し続ける。]
[0028] 第二のMPEGオブジェクトは、ストリーミングMPEGオブジェクトである。ストリーミングMPEGオブジェクトは、アトミックオブジェクトと同じ環境内で動作するが、オブジェクトは、自己完結型ではなく、ソースデータのために外部ソースにアクセスする。例えば、オブジェクトは、オーディオおよびビデオの様々なソース間の選択を可能にするメディアプレーヤであり得る。従って、MPEGオブジェクトは、オーディオソースおよびビデオソースの各々に対して自己完結型ではないが、MPEGオブジェクトは、クライアントデバイスからの要求に基づくソースにアクセスする。図2に示されるように、インタフェース定義(入力、出力)211に従って実装されたMPEGオブジェクト200およびメソッドは、MPEGオブジェクト200をバーチャルマシン230、ステッチャ250、およびストリームソース220のRPC(リモートプロシージャコール)受信器212にリンクする。従って、ストリーミングMPEGオブジェクトは、バーチャルマシン230/クライアント240、ステッチャ250、ソースエンティティ、ストリームソース220、および他のソースと通信している。インタフェース定義はまた、データ(オブジェクト、オーディオおよびビデオ)に直接アクセスし得る。イベントに応答して、イベントディスパッチャは、イベントを処理することが可能なMPEGオブジェクトにインタフェースを用いてアクセスする。イベントディスパッチャは、MPEGオブジェクトに、クライアントによって要求されたビデオおよびオーディオコンテンツにアクセスさせるかまたはビデオおよびオーディオコンテンツを要求させる。この要求は、データソースにアクセスするMPEGオブジェクト内のメソッドによって直接達成され得る。他の実施形態において、AVMLファイル内のスクリプトは、サーバスクリプト213にアクセスするRPC受信器212をコールする。サーバスクリプト213は、要求されたコンテンツ(イベントソース214、データソース215、ビデオソース216、またはオーディオソース217)を取り出すか、またはコンテンツ用のアドレスにアクセスし、この情報またはコンテンツをMPEGオブジェクトまたはステッチャ250に提供する。] 図2
[0029] サーバスクリプト213は、要求されたコンテンツをレンダリングし、コンテンツを1つ以上のMPEGスライスとして符号化し得る。MPEGビデオコンテンツは、MPEGビデオコンテンツをMPEGビデオフレームの中に共にステッチするステッチャ250にMPEGオブジェクトを介して渡され得る。MPEGオブジェクトはまた、ステッチャに渡され得るオーディオMPEGコンテンツを要求するかまたは取り出し得る。従って、オーディオMPEGコンテンツは、MPEGビデオコンテンツと同様な様態で処理され得る。MPEGビデオデータは、MPEGオブジェクト内のメソッドによって処理され得る。例えば、メソッドは、MPEGコンテンツをステッチャに提供する前にMPEGコンテンツのすべてを同期させ得るか、またはメソッドは、受信され、かつ時間的に整列されているMPEGコンテンツのすべてを確認し得、それによって、ステッチャは、MPEGストリームに準拠しているクライアントに提示するために、完全なMPEGビデオフレームを複数のMPEGオブジェクトのビデオデータおよびオーディオデータから共にステッチし得る。AVMLファイルまたはMPEGオブジェクトのスクリプトは、サーバスクリプト213を介してストリームソースから、または直接アドレス可能な場所から更新されたコンテンツを要求し得る。更新されたコンテンツを要求するイベントは、クライアントとの通信によってもたらされ得る。コンテンツは、データ、オーディオ、ビデオ、またはイベントソース214〜217からもたらされ得る。]
[0030] イベントデータ214はトリガデータを含むが、それに限定されない。トリガは、MPEG移送ストリームに挿入され得るデータを含む。さらに、トリガは、MPEGビデオまたはオーディオソースの内部にあり得る。例えば、トリガは、ヘッダ情報またはデータコンテンツ自体の中に配置され得る。これらのトリガは、トリガされるときには、クライアントの画面上に提示されるオーバーレイまたはポップアップ広告などの異なるイベントを引き起こし得る。データソース215は、オーディオまたはビデオデータではないデータを慣習的に含み得る。例えば、データソースからのデータは、クライアントスクリプトに対する警告通知、MPEGビデオストリーム内に埋め込まれるデータ、または別個のグラフィカルエレメントとマージされるストックデータを含み得る。]
[0031] 要求されている様々なソースの各々は、直接ステッチャに提供されるかまたはMPEGオブジェクトを介して渡され得る。メソッドを用いるMPEGオブジェクトは、セッションプロセッサに移送するために、データソースを単一のストリームの中に結合し得る。単一のストリームは、セッションプロセッサおよびアトミックオブジェクトのようなセッションプロセッサによって受信され、ストリーミングオブジェクトは、オーディオおよびビデオデータを同期させるオーディオメソッド281およびビデオメソッド282を含み得る。ビデオメソッド282は、ビデオコンテンツをステッチャに提供し、それによって、ステッチャが、MPEGビデオエレメントの各々を共にステッチすることにより、一連のMPEGフレームを形成し得る。オーディオメソッド281は、オーディオデータをステッチャ内のマルチプレクサに提供し、それによって、オーディオデータが、ビデオデータと共にMPEG移送ストリームの中に多重化される。MPEGオブジェクトはまた、イベントデータ用のメソッド283と、他のデータ用のメソッド284とを含む。]
[0032] ストリーミングMPEGオブジェクトは、セッションプロセッサ200A内の複数のストリーミングMPEGオブジェクト201A、202A・・・203Aを共にステッチすることによって作り出され得る。シーンの構築は、複数のセッションプロセッサ210A・・・220Aをリンクすることによって起こり得、図2Aに示されるように、各々のセッションプロセッサが、MPEGオブジェクトのMPEGエレメントを次のセッションプロセッサに供給する。] 図2A
[0033] MPEGオブジェクト、アトミックオブジェクトまたはストリーミングオブジェクトのどちらかは、それ自体が内部オブジェクトの階層を有するアプリケーションであり得る。例えば、最上位レベルにおいてアプリケーションのタイプを定義するアプリケーションオブジェクトが存在し得る。アプリケーションオブジェクトの下位には、アプリケーションに必要な他のMPEGオブジェクトへの参照とともに共にステッチされるMPEGエレメントの場所を含むユーザインタフェースを定義するシーンオブジェクトが存在し得る。シーンオブジェクトの下位には、個々のMPEGオブジェクトが配置され得る。従って、MPEGオブジェクトは、自己完結型のアプリケーションであり得る。そのような実施形態においては、アプリケーションの要求に応答して、クライアントスクリプトは、アプリケーションを含むMPEGオブジェクトをコールし、アプリケーションがインスタンス化される。]
[0034] MPEGオブジェクト用の擬似コード310とともにアトミックMPEGオブジェクトのデータ構造300の例が図3に示されている。各々のMPEGオブジェクトは、インタフェースセグメント315を含み、インタフェースセグメント315は、分散形システムにおけるクラス定義および/またはオブジェクトの場所、ならびに関連するクラス定義のような情報を提供し得る。MPEGオブジェクトはまた、リソースセグメント316または1つ以上のリソースを少なくとも受信するメソッドのいずれかを含む。] 図3
[0035] 図3のデータ構造300は、ボタンMPEGオブジェクトの場所を提供するインタフェースセグメント315を含むオブジェクトコンテナ/パッケージ320を示している。オブジェクトはまた、オブジェクトデータセグメント317を含む。示されるように、複数のオブジェクトデータセグメント(すなわち、インタフェースデータ、可視データ、可聴データ、ボタンデータなど)が存在し得る。オブジェクトデータは、オブジェクトのパラメータを定義するために用いられるデータである。例えば、オブジェクトに対する可視データ330は、ボタンの高さと幅とを定義する。ボタンデータ340は、ボタンの状態、およびボタンが選択されているときに再生されるオーディオファイル(ClickAudio:=ClickSound.ac3)の状態とともに、ボタンに対する名前を提供する。MPEGボタンオブジェクトのリソースセグメント316は、1つ以上のビデオおよび/またはオーディオファイルを含む。示されている例においては、ボタンに対する様々な状態のデータ350、351が提供され、ビデオコンテンツが、MPEGビデオデータの1つ以上のフレームを表すマクロブロックの集合である。従って、ボタンの各々の状態に対して、複数のマクロブロックから構成されるMPEGビデオエレメントの少なくとも1つの群が存在する。MPEGビデオエレメントは、ボタンの高さおよび幅のサイズであり、クライアントの表示デバイス上に表示されるフレームよりも小さくあり得る。] 図3
[0036] 図4は、データ構造400と擬似コード410とを含む、可能性のあるMPEGオブジェクトの別の例を示している。この例は、進捗バーオブジェクトを有する。図3のMPEGオブジェクトのように、進捗バーMPEGオブジェクトは、オブジェクトのクラスの場所を識別するインタフェースセグメント415を含む。サンプルのクラス定義が、XML422とJava(登録商標)423との両方において提供される。クラス定義において、クラスは、可変のパーセンテージをクリアするメソッドと、MPEGグラフィックを最初は0percent.slcに設定するメソッドとを含み、slcは、MPEGスライスを表している。さらに、進捗バーは、オブジェクトデータセグメント417を含み、オブジェクトデータセグメント417は、インタフェースデータ(進捗バーの名前)、可視データ(進捗バーMPEGスライスのサイズ)、および進捗データ(測定されているイベントの進捗が増大するにつれて更新される内部変数)418を提供する。進捗バーMPEGオブジェクトは、MPEGスライスを含むリソースデータ316を含み、リソースデータ316は、監視されているイベントの完了度を表す様々なグラフィカルな状態を表している。従って、各々がMPEGスライス419から構成されている10個の異なる進捗バーグラフィックが存在し得る。これらのMPEGスライスは、他のMPEGスライスと結合されて、完全なMPEGフレームを形成し得る。] 図3 図4
[0037] オーサリング環境は、MPEGオブジェクトの作成と操作とを提供し、対話型アプリケーション用のシーンの作成を可能にする。オーサリング環境は、好ましくは、MPEGオブジェクトのグラフィカルな選択によって、MPEGオブジェクトおよび対話型アプリケーションを作成するグラフィカルユーザインタフェースのオーサリングツールである。オーサリング環境は、2つのインタフェースを含む。第一のインタフェースは、MPEGオブジェクトを作成し、アプリケーションシーンを定義するオーサリングツールである。第二のインタフェースは、設計者がイベントおよびメソッドをMPEGオブジェクトまたはシーンに追加することを可能にするスクリプトエディタである。オーサリング環境の出力は、アプリケーションを表すMPEGオブジェクトまたは構造化データファイル用の自己完結型のバイナリコードであり得る。アプリケーション用の構造化データファイルは、シーン内のMPEGオブジェクトに関する情報と、フレーム内のMPEGオブジェクトのMPEGグラフィカルエレメントの場所と、MPEGオブジェクト用のプロパティと、MPEGオブジェクトのアドレス/記憶場所と、MPEGオブジェクトにアクセスし、かつMPEGオブジェクトを用いるアプリケーション用のスクリプトとを含む。MPEGオブジェクト用の自己完結型バイナリコードは、アプリケーションによって用いられ得る。アプリケーションは、自己完結型バイナリコードが配置されている記憶場所を参照することによってMPEGオブジェクトにアクセスし得る。]
[0038] 図5は、オーサリング環境500を図的に示している。グラフィカル環境は、アプリケーション設計者が、MPEGオブジェクトをシーンレイアウト510の中に、内在するオブジェクトコードにリンクされている表示アイコン520のグラフィカルな選択を介して追加することを可能にする。さらに、オーサリング環境は、ユーザが新しいMPEGオブジェクトを作成することを可能にする。] 図5
[0039] 最上位レベルのシーンは、アプリケーションがロードされるときに、ユーザのデバイスに提供される第一のシーンであり得る。アプリケーション設計者は、オブジェクトツールバー520からオブジェクトを選択し、ドラッグアンドドロップし得る。例えば、設計者は、ユーザインタフェースオブジェクト(例えば、メディアプレーヤオブジェクト、チッカーオブジェクト、ボタンオブジェクト、静止画像、リストボックスオブジェクト、またはテキスト)を挿入し得る。オーサリング環境は、他のオブジェクト(例えば、本来グラフィカルではないがMPEGオブジェクトモデルの一部分であるコンテナオブジェクト、セッションオブジェクト、およびタイマオブジェクト)を含む。]
[0040] オーサリング環境は、アプリケーションのレベルを示すアプリケーションツリー530を含む。例えば、アプリケーションは、複数のビデオシーンを含み得、単一のシーンは、ウェブページの一部分と等価である。ビデオシーンは、対話型ビデオのユーザがビデオシーン内のリンクを選択することによって第二のシーンを開けることを可能にし得る。第二のシーンは、第一のシーンよりも低いレベルにある。アプリケーションツリー530は、シーン階層のリストと、階層的順序におけるシーン内のオブジェクトのリストとの両方を提供する。]
[0041] アプリケーションの作成ではなく、設計者は、オブジェクトまたは複数のオブジェクトを含む階層的オブジェクトを作成し得る。従って、オーサリング環境の出力はまた、MPEGオブジェクトの出力であり得る。設計者は、例えば、JPEG画像の形態においてグラフィカルコンテンツを提供し、オーサリング環境は、JPEG画像をレンダリングし、JPEG画像をスライスのシーケンスとして符号化する。オーサリング環境はまた、設計者がオブジェクト用のスクリプト、メソッド、およびプロパティを定義することを可能にする。]
[0042] 例えば、設計者は、視聴可能なメディアストリームを表示するために、新しいメディアプレーヤMPEGオブジェクトを作成することを望み得る。設計者は、メディアストリームを取り囲むメディアプレーヤ用のスキンを提供するグラフィックをインポートし得る。グラフィックは、オーサリング環境によってレンダリングされ、複数のMPEGスライスとして符号化される。設計者は次いで、メディアストリームの名前および場所、チェーサ(ビデオフレーム内のメディアストリームの強調表示)が存在するか否か、強調表示のタイプ(すなわち、焦点を有するオブジェクトのまわりの黄色リング)などのメディアプレーヤオブジェクト用のプロパティを追加し得る。さらに、設計者は、ユーザが焦点をメディアプレーヤオブジェクトから別のオブジェクトに移動させることを決定する場合における、各々の方向に配置されるオブジェクトを示すプロパティを含み得る。例えば、現在のメディアプレーヤオブジェクトが焦点を有し、ユーザが、ユーザデバイス(すなわち、セットトップボックス)に結合されたリモコンを用い、方向キーのうちの1つを押す場合には、チェーサを上に、下に、左に、および右に向けるプロパティと、焦点を受けるオブジェクトを示す関連メソッドとが存在し得る。MPEGオブジェクトの設計者は、ユーザがメディアプレーヤオブジェクトを有するシーンを視聴するたびにトリガされる「onLoad」などのイベントを有するメディアプレーヤオブジェクトを提供し得る。他のイベントは、オブジェクトが焦点を受けたことを示す「onFocus」と、オブジェクトが焦点を失ったことを示す「onBlur」とを含み得る。「onKeyPress」イベントが含まれ得、オブジェクトが焦点にあり、キーが押された場合に、このイベントが起こることを示している。Media Playerオブジェクト用のイベントおよびプロパティが、例示目的のために提供されて、MPEGオブジェクトと関連づけられ得るイベントおよびプロパティの性質および範囲を示す。他のMPEGオブジェクトが、作成され得、同様なイベントおよびプロパティ、ならびにアプリケーション設計者によって必要とされるような別個のイベントおよびプロパティを有する。]
[0043] オーサリング環境は、所定のオブジェクトまたは新しいオブジェクトのプロパティを定義するためのプロパティタブ540およびイベントタブ550を含む。プロパティペイン660の例が図6Aに示されている。所定のチッカーオブジェクト(ビデオフレームを横切ってスクロールするように現われるバナー)用のプロパティは、チッカー665の背景色、テキスト色、テキストフォント、および透明度を含む。各々のオブジェクトタイプが異なるプロパティを有することは認識されるべきである。イベントタブは、アプリケーション設計者がイベント(ユーザからの受信される信号)とオブジェクトとの間の関連づけを行うことを可能にする。例えば、ボタンオブジェクトは、複数の状態(オンおよびオフ)を含み得る。各々の状態との関連づけは、別個のMPEGビデオシーケンスであり得る。従って、ボタンがアクティブであることを示す「オン」状態用のビデオグラフィックと、ボタンが非アクティブであることを示す「オフ」状態用のビデオグラフィックとが存在する。イベントタブは、ユーザから受信された信号と、オブジェクトの状態の変化と、シーンの一部分であるビデオコンテンツの変化との間の関連づけをアプリケーション設計者が行うことを可能にする。図6Bは、所定のメディアプレーヤオブジェクト用に選択される場合のイベントタブの例を示している。イベントは、メディアプレーヤ用に「onLoad、onFocus、onBlur、onKeyPress、およびonClick」イベント670を含む。オーサリング環境は、設計者がシーン680の間にタブを付け、シーンレイアウトとスクリプト作成ページ690との間にタブを付けることを可能にする。示されているように、オーサリング環境はテンプレートタブを含む。テンプレートタブ695は、前に保存されたシーンの選択を可能にし、それによって、設計者は、前のシーンからの設計情報を新しいシーンの作成のために用い得る。さらに、設計者は、空白のイベントペインおよびプロパティペインを提供され得、それによって、設計者は、新しいオブジェクト用のプロパティおよびイベントを定義する新しいMPEGオブジェクトを作成し得る。] 図6A 図6B
[0044] スクリプトは、スクリプト作成タブを選択することによって、アプリケーションまたは新しく作成されるオブジェクトに追加され得る。図6Cは、スクリプトエディタ691を示している。例えば、スクリプトは、クライアントがボタングラフィック692を選択することを試みる場合に提供される機能を決定し得る。この例において、スクリプトは、アプリケーションファイルの一部分である。同様に、設計者は、スクリプトがMPEGオブジェクト(例えば、図2に示されたMPEGストリーミングオブジェクト内のクライアントスクリプトまたは図1のアトミックオブジェクトに示されたスクリプト)の内部のスクリプトを作成するために用いられることを示し得る。] 図1 図2 図6C
[0045] MPEGオブジェクトはまた、リアルタイムに生成され得る。この方法論においては、MPEGオブジェクトに対する要求は、セッションプロセッサに対して行われ、MPEGオブジェクトは、未定義のビデオコンテンツおよび/またはオーディオコンテンツを有する。セッションプロセッサのスクリプトは、別個のプロセッサ/サーバに、オブジェクト用のビデオコンテンツを取得かつレンダリングさせ、MPEGエレメントとしてコンテンツを符号化させ、完全なMPEGオブジェクトをリアルタイムにセッションプロセッサに戻させる。サーバは、アトミックMPEGオブジェクトまたはストリーミングMPEGオブジェクトのいずれかを構築し得る。サーバはまた、キャッシュ技術を利用することにより、その後のMPEGオブジェクト要求のために新しく定義されたMPEGオブジェクトを格納し得る。この方法は、ユーザ特有のコンテンツまたはリアルタイム生成コンテンツの分散されたレンダリングに有用である。例えば、サーバは、クライアントのフォトアルバムをコード変換するプロキシとして作動し得、写真は、JPEGフォーマットに由来し、サーバは、写真をMPEGフォトアルバムオブジェクト内のMPEGエレメントとして格納する。サーバは次いで、要求されたアプリケーションによる使用のために、MPEGフォトアルバムオブジェクトをセッションプロセッサに渡し得る。さらに、MPEGフォトアルバムオブジェクトは、クライアントが再びフォトアルバムを要求する場合の、後での取り出しのために保存される。]
[0046] 設計者がアプリケーションまたはMPEGオブジェクトの設計を完了すると、システムは、受信された情報を取得し、新しいアプリケーションが作成された場合には、バイナリコード、設計者が新しいMPEGオブジェクトを作成した場合には、AVML(アクティブビデオマークアップ言語)ファイルのいずれかに情報を変換する。AVMLファイルは、XMLベースのシンタックスであるが、対話型ビデオの構成に適した特定の構造を含む。例えば、AVMLファイルは、MPEGオブジェクトと相互作用するスクリプトを含み得る。アプリケーションシーン内のすべてのオブジェクトは、論理スタックにおける階層を有する。階層は、シーンの中にオブジェクトを追加するシーケンスに基づいて割り当てられる。最初にシーンに追加されたオブジェクトは、スタックの底にある。オブジェクトは、設計の完了前およびAVMLファイルフォーマットへのグラフィカルシーンの変換前に階層内を上または下に移動され得る。バイナリコードにおける新しいMPEGオブジェクトは、バイナリコードの格納場所を参照することによってアプリケーションに組み込まれ得る。]
[0047] オーサリング環境から出力されるAVMLファイルは、ステッチャモジュールがAVMLファイル内で参照されるMPEGオブジェクトと関連づけられた複数のMPEGエレメントから所望の出力スライス構成を知ることを可能にする。AVMLファイルは、スライスのサイズと、MPEGフレーム内のスライスの場所とを示す。さらに、AVMLファイルは、カプセル化された自己記述型オブジェクトの提示またはMPEGオブジェクトの状態を記述する。例えば、ボタンオブジェクトがオーサリング環境の中にユーザによってグラフィカルに配置される場合には、オーサリング環境は、この動的配置に基づいて、MPEGビデオフレーム内のボタンの位置を決定する。この位置情報は、フレーム場所へと翻訳され、MPEGボタンオブジェクトと関連づけられる。状態情報がまた、AVMLファイル内に配置される。従って、AVMLファイルは、MPEGボタンオブジェクトに対する状態(オンおよびオフ)をリストし、それらの2つの状態に対する各々のMPEGグラフィカルファイル(MPEGエレメント)の場所への参照を有する。]
[0048] アプリケーションがアプリケーション設計者によって定義された後、クライアントは、図6Dに示されているようなクライアントのデバイス600を用いてアプリケーションを要求し得る。クライアントのデバイス600は、対話型セッションを要求し、セッションプロセッサ601が割り当てられる。セッションプロセッサ601は、要求されたアプリケーションに対する記憶場所603からAVMLファイル602を取り出し、バーチャルマシン605を実行する。バーチャルマシン605は、AVMLファイルを構文解析し、セッションプロセッサ601が、アプリケーションに対してアクセスする必要があるMPEGオブジェクトを識別する。バーチャルマシン605は、AVMLファイル630からの位置情報と、MPEGオブジェクト620内に定義されるようなサイズ情報とに基づいて、各々のグラフィカルエレメント610のビデオフレーム内の位置をアクセスされたMPEGオブジェクト620から決定する。示されているように、1つだけのMPEGオブジェクトが図には存在するが、多くのMPEGオブジェクトがAVMLファイルとともに用いられ得る。さらに、メモリ内に格納されたように示されているMPEGオブジェクトは、2つの代表的構成要素であるMPEGエレメント610およびMPEGメソッド665を有する。上記のように、MPEGエレメントは、MPEGオブジェクトの内部にあり得るかまたはMPEGオブジェクトの外部にあり得る。好ましくは、1つ以上のMPEGオブジェクトによるMPEGスライスであるMPEGエレメント610a、bは、次いで、バーチャルマシン605によってステッチャ640に渡され、ステッチャがスライスを順番に並べ、それによって、スライスが、バーチャルマシンによって構文解析された位置情報に従って、MPEGビデオフレーム650を形成する。ステッチャは、各々の状態に対してオブジェクトと関連づけられたMPEGエレメントによって示される。例えば、MPEGボタンオブジェクトが、64×64ピクセルのMPEGエレメントを有し、2つの状態(オンおよびオフ)を有する場合には、ステッチャは、各々の状態に対して事前符号化された64×64ピクセルのMPEGエレメントをバッファリングする。] 図6D
[0049] MPEGビデオフレーム650がカプセル化され、それによって、そのカプセルがMPEGビデオストリーム760の一部分を形成し、次いでMPEGビデオストリーム760がクライアントデバイス600に提供される。クライアントデバイス600は次いで、MPEGビデオストリームを復号化し得る。クライアントは、次いで、入力デバイス661を用いてMPEGオブジェクトと相互作用し得る。セッションプロセッサ601が入力デバイス661からの信号を受信し、信号に基づいて、MPEGオブジェクト620のオブジェクト選択メソッド665が、バーチャルマシン605によって実行されるかまたはインタプリタ処理され、MPEGビデオエレメント610aが更新され、更新されたビデオエレメントコンテンツ610cがステッチャ640に渡される。さらに、選択されたMPEGオブジェクトに対する、セッションプロセッサによって維持されている状態情報は、アプリケーション(AVMLファイル)内で更新される。MPEGビデオエレメント610cは、すでにステッチャ内のバッファに格納され得る。例えば、MPEGエレメント610cは状態を表し得る。ボタンの状態変化に対する要求がセッションプロセッサによって受信され得、ステッチャがバッファにアクセスし得、バッファは、ボタンが前に「オン状態」にあったことを仮定する「オフ状態」に対するMPEGエレメントのMPEGスライスを含む。ステッチャ640は次いで、MPEGフレーム650内のMPEGエレメントスライス610aを置き換え得、更新されたMPEGフレーム650aが、クライアントデバイス600に送信される。従って、クライアントは、クライアントデバイスが1つのMPEG復号器と、割り当てられたセッションプロセッサ601に信号/命令を送信する1つのアップストリーム接続とを有し得るだけであっても、MPEGコンテンツと相互作用する。]
[0050] オーサリング環境は、デジタルトリガをコンテンツに追加するために用いられ得る。例えば、放送プログラムは、トリガを実際のビデオプログラムデータ内またはヘッダ内のいずれかに含むように符号化され得る。従って、トリガはバンド内である。トリガは、特定の条件の識別子であり、処理オフィスまたはクライアントデバイスのいずれかに信号を送るために発行されて、機能を実行し得る。SCTE 35ANSI規格は、トリガの議論を含む。本明細書において用いられる場合に、トリガはデジタル表現である。トリガは、基本のストリームヘッダ内またはトランスポート層に埋め込まれ得る。アクティブなビデオネットワークと、AVMLファイルと、MPEGオブジェクトと、ステッチ処理モジュールとによって用いられるようなトリガは、SCTE 35 ANSI規格によって想定されていない新しい相互作用を達成し得る。]
[0051] 例えば、トリガが遭遇される場合には、相互作用モデルは変更され得る。クライアントデバイスと関連づけられたユーザ入力デバイスからのキーストロークは通常とは異なるように解釈され得る。キーは、トリガイベントに応答して再割り当てされ得、新しい機能性または異なる機能性が利用可能になる。ビデオストリームにおいて遭遇されるトリガは、処理オフィスまたはトリガを識別するクライアントデバイスのいずれかを別のデバイスに接触させ得る。例えば、クライアントデバイスは、プログラムストリーム内のトリガを識別し得、自動的にプログラムを記録するためにデジタルビデオレコーダと相互作用し得る。そのような実施形態において、トリガは件名の識別を含み得、クライアントデバイスは、ユーザの個人的プロフィールを含み得る。プロフィールの比較と、トリガ内の識別された件名とに基づいて、クライアントデバイスは、放送プログラムに、ユーザによる相互作用をともなうことなくデジタルビデオレコーダに記録させる。他の実施形態において、トリガは、プログラムに、異なるデバイスにリダイレクトさせ得る。例えば、処理オフィスによって識別された放送ストリーム内のトリガは、放送プログラムに、遠隔デバイスにリダイレクトさせ得る。ユーザは、プログラムミーティング基準設定が携帯電話、携帯情報端末、または他のネットワーク接続型デバイスに伝えられるべきであることを示す処理オフィスに配置されたプロフィールを有し得る。コンテンツ内のトリガを識別した後、処理オフィスは、ユーザプロフィールをトリガ情報と比較し、両者の間の一致に基づいて、プログラムコンテンツは、クライアントの家庭に配置されているクライアントデバイスではなくネットワーク接続型デバイスに転送され得る。人は、コンテンツが放送プログラムではないことがあり得、別の形態のコンテンツ(例えば、記事、画像、格納されたビデオプログラム)であり得ることを想定し得る。]
[0052] オーサリング環境において、コンテンツ制作者は、ビデオプログラムを選択し得、次いで、ビデオプログラム内のデジタルトリガ用の1つ以上の場所を識別し得る。例えば、トリガは、プログラムの最初に配置され得る。そのような構成において、トリガはビデオプログラム全体に適用され得る。トリガはまた、ビデオプログラムストリーム内の他の場所に配置され得る。例えば、トリガは、放送内の所定の時間的な間隔または移行点に配置され得る。さらに、コンテンツの作成後、サードパーティは、トリガをコンテンツに挿入し得る。例えば、テレビジョンネットワークなどの放送ソースからのコンテンツは、ケーブルプロバイダによって放送ソースに挿入されたトリガを有し得る。ケーブルプロバイダは、トリガをいくつかの基準設定に基づいてコンテンツに挿入し得る。例えば、トリガは、時間的に広告場所に隣接して配置され得るか、またはトリガは、設定間隔(例えば、5分、10分、20分など)で時間的間隔をおいて配置され得、トリガはコンテンツと同期させられる。トリガは、対話型コンテンツを示しており、トリガは、トリガを有するコンテンツを受信するクライアントデバイスに、対話型チャネルに同調させるかまたは切り換えさせ得る。特定のシステムにおいて、トリガは、クライアントデバイスに、対話型セッションを要求させ得る。要求は、処理オフィスによって受信され、処理オフィスは、対話型コンテンツを提供する対話型プロセッサを割り当てる。]
[0053] 図7は、トリガを用いる環境を示している。処理オフィス700は、テレビジョン通信ネットワーク(例えば、ケーブルネットワーク、光ファイバネットワーク、衛星テレビジョンネットワーク)701を介してクライアントデバイス702と通信する。クライアントデバイス702は、複数のチャネルのうちの1つに同調するチューナを含み、符号化されたテレビジョンプログラムを復号化し得、テレビジョン信号を表示デバイス704に出力するセットトップボックスであり得る。クライアントデバイスは、ユーザの住宅703内に示されているが、クライアントデバイス702はまた、携帯型デバイスであり得る。いくつかの実施形態において、クライアントデバイス702および表示デバイス704は、単一のエンティティである。例えば、携帯電話または携帯情報端末(PDA)は、受信器、復号器、およびディスプレイを含み得る。] 図7
[0054] クライアントデバイス702は、放送ビデオプログラム706を受信するためにチャネルに同調するかまたは放送ビデオプログラムを受信する処理オフィス700に同調し、放送ビデオプログラムは、放送ビデオプログラムデータ内または関連するヘッダ(例えば、基本ストリームヘッダまたはトランスポートストリームヘッダなどのMPEGヘッダ)内のいずれかにトリガを含む。放送データを受信することに応答して、処理オフィスのプロセッサまたはクライアントデバイス内のプロセッサが、ビデオストリームを構文解析し、トリガを識別する。トリガを識別すると、処理オフィス700は、ユーザのクライアントデバイス702に伝送する。トリガがクライアントデバイス702において構文解析される場合には、クライアントデバイスは、トランスミッションを処理オフィス700に送信するかまたはクライアントデバイスがクライアントデバイス内のチューナに、示された対話型チャネルに同調させることによって応答する。クライアントデバイスは次いで、トリガに関連した対話型コンテンツ707を受信する。用語「チャネル」が、ビデオプログラムを区別する周波数またはプロトコルを示すために用いられることは理解されるべきである。デジタルビデオプログラムは、並列に伝送され得、各々のプログラムは、識別子または「チャネル」インジケータを含み、クライアントデバイスは、ビデオプログラムを含むチャネルを受信し/チャネルに同調し得る。トリガは、対話型セッションを起動させるために用いられることにより、追加のコンテンツ707(静的または対話型のいずれか)の自動的な選択を引き起こし、放送プログラムに加えてディスプレイ上の追加情報を含み得る。トリガは、プログラム全体またはプログラムの一部分と関連づけられ得、トリガは、持続時間が限定され得る。]
[0055] 図7Aに示されているような他の実施形態において、トリガは、クライアントデバイス702Aに、ユーザ入力を別個のデバイスに伝送させ得る。例えば、ユーザ入力デバイス上のキー押下は、インタプリタ処理のために別のデバイスに転送され得る。これらのキー押下は、キー押下を受信するクライアントデバイス702Aによって、別のネットワーク上に配置されているデバイスに送信され得る。例えば、クライアントデバイス702Aは、衛星放送受信器710Aを含むかまたは衛星放送受信器710Aに結合され得、さらにIPインターネット接続720Aを含むかまたはIPインターネット接続720Aに結合され得る。衛星放送の処理オフィス700Aは、衛星を介してトリガを含むコンテンツを伝送する。衛星放送受信器は、トリガを有するコンテンツを受信し、結合されているクライアントデバイス702Aはトリガを認識し、次いで、すべての今後のキー押下をIPインターネット接続720Aを介してIPネットワーク701Aの処理オフィス701Aに転送する。処理オフィス701Aは、同じ放送プログラムを受信するか、または衛星放送処理オフィス700Aによって伝送されるのと同じコンテンツにアクセスする。処理オフィス701Aは、プロセッサを割り当て得、次いで、放送コンテンツを追加するかまたは再フォーマットするか、あるいはクライアントデバイス702Aから伝えられるキー押下に応答して別個の対話型コンテンツを提供し得る。そのような態様において、対話型コンテンツは、一方向の衛星のトランスミッションを介して受信されるトリガの結果として利用可能にされ得る。] 図7A
[0056] 場合によっては、トリガがクライアントデバイスによってまたは処理オフィスによって識別されるときに、クライアントデバイスに提供され、表示デバイス上に表示される放送プログラムは、変化するために現れないことがあり得る。しかしながら、放送プログラムを作り出すビデオストリームは、異なるバックエンドのインフラストラクチャーによってここで管理され得る。従って、対話型セッションは、クライアントデバイスと、処理オフィスにおいて割り当てられたプロセッサとの間で確立される。バックエンドは、ビデオストリームの中に追加のコンテンツをステッチし得るMPEGステッチ処理モジュールなどのステッチ処理モジュールを含み得る。処理オフィスは、上記のように、MPEGビデオストリーム内に対話性を提供するMPEGオブジェクトを利用し得る。エンドユーザは次いで、前に利用可能ではなかった対話型の機能性を放送ビデオコンテンツストリームを介して利用できる。コンテンツは次いで、対話型セッションを用いてクライアントデバイスにプッシュされ得ることが想定され得る。例えば、広告は、割り当てられたプロセッサによって、ステッチ処理プロセスまたは外部のステッチ処理モジュールを用いてビデオストリームの中に挿入され得る。これらの広告は、エンドユーザと関連づけられたプロフィールに基づいて個人化され得る。広告は、トリガと関連づけられる必要がない。例えば、プログラムの冒頭の(または、プログラムの間の任意の時点の)トリガは、対話型セッションを引き起こす。処理オフィスは次いで、対話型セッションの開始に続く任意の時点において広告をプログラムストリームの中に挿入し得る。従って、広告配置とトリガとは、切り離されるイベントである。]
[0057] 他の実施形態において、トリガは、放送のコンテンツストリームを置き換える新しいストリームを開始し得る。新しいストリームは、他のコンテンツとともに原初の放送ストリームのピクチャインピクチャ表現を含み得る。]
[0058] 図8は、トリガがクライアントデバイスによってどのように用いられ得るかを示すフローチャートである。最初に、符号化された放送ビデオストリームが、クライアントデバイスによって受信される(800)。同調したチャネルと関連づけられた符号化された放送ビデオストリーム内の符号化されたビデオプログラムが、クライアントデバイスによって復号化される(810)。復号化された放送ビデオプログラムが、表示デバイスに出力される(820)。放送ビデオプログラムが復号化されるときに、プロセッサは、放送ビデオプログラムを構文解析し探索して、任意のトリガを識別する(830)。特定のチャネルを介して分配される場合には、対話型コンテンツがトリガを識別すると、クライアントデバイスのプロセッサが、強制信号をクライアントデバイス内のチューナに送信することにより、クライアントデバイスを対話型コンテンツチャネルへと強制する(840)。クライアントデバイスはまた、テレビジョン通信ネットワークを介してトランスミッションを処理オフィスに送信し、対話型セッションの確立を要求し得る。代替の実施形態において、トリガが識別されるときに、クライアントデバイスは、トリガ信号を処理オフィスに送信し得る。処理オフィスは、次いで、ユーザの選好を含むユーザのプロフィールにアクセスし得る。トリガがユーザの選好のうちの1つに関連する場合には、処理オフィスは、対話型セッションを確立し得る。トリガがユーザの選好と無関係な場合には、処理オフィスは、クライアントデバイスと通信し、クライアントデバイスは、ビデオプログラムを復号化し表示を続ける。さらに他の実施形態においては、トリガを識別すると、クライアントデバイスは、ユーザの表示デバイス上に表示されるビデオプログラムと結合されるかまたはビデオプログラムの中にステッチされるべきであるコンテンツを示すトリガ信号を処理オフィスに送信し得る。ここでまた、追加のコンテンツは、静的であるかまたは対話型であり得る。] 図8
[0059] 対話型セッションが必要とされている場合には、処理オフィスは、プロセッサをクライアントデバイスに割り当て、割り当てられた処理オフィスプロセッサとクライアントデバイスとの間の接続を確立する。処理オフィスは、対話型コンテンツをクライアントデバイスに提供し、ユーザの表示デバイス上に表示する。対話型コンテンツは、単にMPEGストリームであり得、MPEGオブジェクトは、対話型エレメントを定義するために用いられ、処理オフィスは、対話型エレメントの関連する場所を識別する。対話型コンテンツは、選択されたビデオプログラム内のトリガにだけ基づき得る。例えば、ユーザは、プレミアムチャネルの無料視聴の代わりに、視聴し、ユーザフィードバックを提供することに同意し得る。従って、ユーザは、プレミアムコンテンツを視聴することを可能とされる前に対話型コンテンツに向けられる。プレミアムコンテンツが放送コンテンツである場合には、ユーザが対話型コンテンツと相互作用する間、デジタルビデオレコーダは、放送プログラムを自動的に記録し始め得る。ユーザが対話型コンテンツとの相互作用を完了したときに、クライアントデバイスは、処理オフィスから強制信号を受信するか、または強制信号を生成して、クライアントデバイス内のチューナをプレミアムチャネルに同調させる。プレミアムチャネルが放送である場合には、信号がデジタルビデオレコーダに送信されて、放送プログラムの再生を自動的に始める。上記のような実施形態において、処理オフィスは、対話型コンテンツをビデオのフルフレームとして提供し、ユーザは、対話型モードで動作している間、プレミアムコンテンツを全く視聴することができない。他の変形において、対話型コンテンツは、処理オフィスによってプレミアムコンテンツ/ビデオプログラムとマージされる。従って、ユーザは、ビデオプログラムをまだ視聴している間に、対話型コンテンツと相互作用し得る。]
[0060] 他の実施形態において、対話型コンテンツは、ユーザの個人的選好に基づき得る。例えば、ユーザは、特定の野球選手に関する情報を、ユーザがその選手のチームの試合を視聴するときはいつでも、望んでいることを示すユーザプロフィールを作成し得る。システムのユーザは次いで、提供される対話型コンテンツと相互作用し得る。対話型コンテンツは、ビデオコンテンツのフレームの一部分を置き換え得るか、またはビデオコンテンツがサイズ(解像度)に関して低減され得、それによって、対話型コンテンツは、ステッチャモジュール内でビデオプログラムとステッチされ、ビデオプログラムと同じフレームに表示され得る。]
[0061] 図9は、対話型コンテンツをトリガに基づいて提供するプロセスを記述するフローチャートであり、処理オフィスがトリガを識別する。最初に、放送ビデオプログラムを含むビデオストリームが、ビデオソース(すなわち、放送テレビジョンネットワークなど)から受信される(900)。処理オフィスが、ビデオプログラムを構文解析するプロセッサを含むことにより、プログラム内のトリガを識別する(910)。例えば、トリガは、1つ以上のパケットヘッダ内に存在し得るか、またはトリガは、ビデオコンテンツを表すデータ内に存在し得る。トリガがビデオプログラム内で識別されるときに、処理オフィスは、1つ以上のクライアントデバイスを識別し、クライアントデバイスは、処理オフィスと現在通信しており、現在プログラムを復号化している。このことは、クライアントデバイスと処理オフィスとの間の双方向通信を介して遂行され得る。処理オフィスは、ユーザプロフィールと選好とを含むデータベースにアクセスする。処理オフィスは次いで、トリガをユーザプロフィールと比較する。ユーザのプロフィールがトリガと互いに関連する場合には、処理オフィスは、追加のビデオコンテンツを取得する(920)。ビデオコンテンツは、対話型コンテンツまたは静的コンテンツであり得る。処理オフィスは次いで、ステッチャモジュールを用いて追加のビデオコンテンツをビデオプログラムとステッチする(930)。ステッチャモジュールは、単に追加のビデオコンテンツのフレームをビデオプログラムのフレームの間に挿入し得る。例えば、追加のビデオコンテンツが広告である場合には、広告は、MPEG Iフレームの直前でビデオプログラム内に挿入され得る。他の実施形態において、ビデオプログラムは、ビデオプログラムの解像度を低減するスケーラモジュールに提供され得る。低減されたビデオプログラムおよび追加の材料がステッチャに提供され、ステッチャは、低減されたビデオプログラムおよび追加のビデオコンテンツを一連のビデオフレームの中にステッチする。この実施形態において、クライアントデバイスは、トリガを認識する必要がない。実のところ、トリガはビデオストリームから取り去られ得、クライアントデバイスは、単にMPEG仕様に準拠する復号器によって復号化され得るMPEGビデオストリームを受信し得る。追加のビデオコンテンツと、ビデオプログラムとを含むビデオストリームは次いで、処理オフィスにより通信ネットワークを介して関連し、互いに関連のあるユーザプロフィールを有する各々のクライアントデバイスに伝送される(940)。従って、ユーザがチャネルに同調し、ユーザのプロフィールがトリガと互いに関連する場合には、含まれた追加のビデオを有するビデオプログラムが、そのユーザのクライアントデバイスに伝送される。そのような実施形態において、複数のクライアントデバイスが、ビデオプログラムの中にステッチされた追加のビデオコンテンツを有する同じビデオストリームを受信し得る。他の実施形態において、特定のチャネルに同調するすべてのクライアントデバイスは、ユーザプロフィールにアクセスすることなくビデオプログラムの中にステッチされた追加のビデオコンテンツを有するビデオストリームを受信し得る。例えば、ローカルの広告は、ビデオプログラム内にトリガを含むことによって全国的放送の中にステッチされ得る。] 図9
[0062] 本発明は、MPEG符号化に関して記述されたが、本発明は、オブジェクトを作成する他のブロックベースの符号化技術によって利用され得、オブジェクトは、それらのブロックベースの符号化技術に特有である。本発明は、プロセッサ(例えば、マイクロプロセッサ、マイクロコントローラ、信号処理プロセッサ、または汎用コンピュータ)によって使用されるコンピュータプログラムロジック、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ(FPGA)または他のPLD)によって使用されるプログラマブルロジック、個別構成部品、集積回路網(例えば、特定用途向け集積回路(ASIC))、またはそれらの任意の組み合わせを含む任意の他の手段を含むが、限定ではない多くの異なる形態に組み入れられ得る。本発明の実施形態において、主に並べ替えロジックのすべては、コンピュータ実行可能な形態に変換されるコンピュータプログラム命令の組として実装され得、そのようなものとしてコンピュータ読み取り可能媒体内に格納され、オペレーティングシステム制御下のアレイ内のマイクロプロセッサによって実行される。]
[0063] 本明細書において上記された機能性のすべてまたは一部分を実装するコンピュータプログラムロジックは、ソースコード形態、コンピュータ実行可能な形態、および様々な中間形態(例えば、アセンブラ、コンパイラ、ネットワーカ、またはロケータによって生成される形態)を含むが、限定ではない様々な形態に組み入れられ得る。ソースコードは、様々なオペレーティングシステムまたは動作環境によって使用する任意の様々なプログラミング言語(例えば、オブジェクトコード、アセンブリ言語、またはFORTRAN、C、C++、Java(登録商標)、またはHTMLなどの高水準言語)内に実装される一連のコンピュータプログラム命令を含み得る。ソースコードは、様々なデータ構造および通信メッセージを定義し、かつ用い得る。ソースコードは、コンピュータ実行可能(例えば、インタプリタを介して)の形態であり得るか、またはソースコードは、コンピュータ実行可能な形態に(例えば、トランスレータ、アセンブラ、またはコンパイラを介して)変換され得る。]
[0064] コンピュータプログラムは、半導体メモリデバイス(例えば、RAM、ROM、PROM、EEPROM、またはフラッシュプログラマブルRAM)、磁気メモリデバイス(例えば、ディスケットまたは固定ディスク)、光メモリデバイス(例えば、CD−ROM)、PCカード(例えば、PCMCIAカード)、または他のメモリデバイスなどの有形の格納媒体内に任意の形態(例えば、ソースコード形態、コンピュータ実行可能な形態、または中間形態)で恒久的または一時的に固定され得る。コンピュータプログラムは、アナログ技術、デジタル技術、光技術、無線技術、ネットワーキング技術、およびインターネットワーキング技術を含むが、限定ではない任意の様々な通信技術を用いてコンピュータに伝達可能な信号の任意の形態で固定され得る。コンピュータプログラムは、印刷または電子的ドキュメントを添付される取り外し可能な格納媒体(例えば、収縮包装されたソフトウェアまたは磁気テープ)のような任意の形態で配布されたり、コンピュータシステムによって(例えば、システムROMまたは固定ディスク上に)事前にロードされたり、または通信システム上のサーバまたは電子掲示板(例えば、インターネットまたはワールドワイドウェブ)から配布され得る。]
[0065] 本明細書において上記された機能性のすべてまたは一部分を実装するハードウェアロジック(プログラマブルロジックデバイスによって使用するプログラマブルロジックを含む)は、慣習的なマニュアルの方法を用いて設計され得るか、またはコンピュータ援用設計(CAD)、ハードウェア記述言語(例えば、VHDLまたはAHDL)、またはPLDプログラミング言語(例えば、PALASM、ABEL、またはCUPL)などの様々なツールを用いて電子的に設計され、取り込まれ、シミュレーションされ、または文書化され得る。]
[0066] 本発明は、特定の実施形態に関して特に示され記述されてきたが、形態および詳細における様々な変形が、添付の特許請求の範囲によって規定されるような本発明の精神および範囲から逸脱することなくその中でなされ得ることは当業者によって理解される。当業者に対して明らかになるときに、概観のための上記の技術は、概観ではないイメージとして取り込まれているイメージに適用され得、逆もまた同様である。]
[0067] 本発明の実施形態が、限定ではなく添付の特許請求の範囲によって記述され得る。これらの実施形態は、添付の特許請求の範囲においてプロセスステップによって記述されているが、添付の特許請求の範囲におけるプロセスステップを実行することが可能な、関連する表示を有するコンピュータから成る装置もまた本発明に含まれている。同様に、添付の特許請求の範囲におけるプロセスステップを実行するコンピュータ実行可能命令を含み、コンピュータ読み取り可能媒体上に格納されているコンピュータプログラム製品が本発明の内に含まれている。]
权利要求:

請求項1
テレビジョン通信ネットワークに結合されたクライアントデバイス上の対話型コンテンツへのアクセスを開始する方法であって、該方法は、少なくとも1つのトリガを含む符号化された放送ビデオストリームを該テレビジョン通信ネットワークから該クライアントデバイスの中に受信することと、該放送ビデオストリームを復号化することと、該放送ビデオストリームを表示デバイスに出力することと、該トリガを識別することと、該トリガを識別すると、該クライアントデバイスを対話型コンテンツチャネルに同調させることとを包含する、方法。
請求項2
前記クライアントデバイスから前記テレビジョン通信ネットワークを介して前記トリガを示す信号を送信することをさらに包含する、請求項1に記載の方法。
請求項3
前記トリガに関連した対話型コンテンツを前記クライアントデバイスにおいて受信することと、該対話型コンテンツを復号化することと、対話型コンテンツを表示デバイスに出力することとをさらに包含する、請求項1に記載の方法。
請求項4
前記対話型コンテンツは、広告である、請求項1に記載の方法。
請求項5
ユーザ用の1つ以上のコンテンツ識別子をメモリ内に格納することと、少なくとも1つのトリガを含む符号化された放送ビデオストリームを前記テレビジョン通信ネットワークから前記クライアントデバイスの中に受信することと、該放送ビデオストリームを復号化することと、第一のチャネル上に該放送ビデオストリームを出力することと、該放送ビデオストリーム内のトリガを識別することと、コンテンツ識別子を該識別されたトリガと比較することと、該コンテンツ識別子と該識別されたトリガとが一致する場合には、該クライアントデバイスを対話型チャネルに同調させることとをさらに包含する、請求項1に記載の方法。
請求項6
前記コンテンツ識別子は、前記テレビジョン通信ネットワーク内の処理オフィスにおいて格納される、請求項5に記載の方法。
請求項7
テレビジョン通信ネットワークに結合されたクライアントデバイス上のビデオコンテンツへのアクセスを開始する方法であって、該方法は、少なくとも1つのトリガを含む符号化された放送ビデオプログラムストリームを該テレビジョン通信ネットワークから該クライアントデバイスの中に受信することと、該放送ビデオプログラムストリームを復号化することと、該放送ビデオプログラムを表示デバイスに出力することと、該トリガを識別することと、該トリガを識別すると、トリガ信号を処理オフィスに送信することと、該トリガに関連した追加のコンテンツとステッチされている該放送ビデオプログラムを含む新しいビデオストリームを受信することとを包含する、方法。
請求項8
前記ビデオプログラムの解像度を低減することをさらに包含し、前記追加のコンテンツは、該低減されたビデオプログラムをも含む複数のビデオフレームの中にステッチされる、請求項7に記載の方法。
請求項9
前記追加のコンテンツは、広告である、請求項7に記載の方法。
請求項10
前記追加のコンテンツは、対話型コンテンツである、請求項7に記載の方法。
請求項11
ユーザのアカウント情報は、該ユーザがビデオプログラムに対する追加料金を支払わない代わりに該ユーザによって識別された該プログラムに対する広告を視聴することを望むことを示す、請求項7に記載の方法。
請求項12
前記解像度を低減することは、前記ビデオプログラムの解像度を低減することを包含し、該解像度を低減することは、データを該ビデオプログラムから取り除くことを包含する、請求項8に記載の方法。
請求項13
前記ビデオプログラムは、MPEGビデオとして符号化され、各々のビデオフレームは、MPEGビデオフレームである、請求項8に記載の方法。
請求項14
対話型コンテンツをユーザのクライアントデバイスに提供する方法であって、該方法は、該ユーザの該クライアントデバイスと処理オフィスとの間のセッションを該処理オフィスにおいて確立することと、放送ビデオプログラムを含むビデオストリームを該処理オフィスにおいて受信することであって、該ビデオストリームは、1つ以上のトリガを含む、ことと、トリガの識別に応答して、該クライアントデバイスを対話型チャネルに同調させる信号を該ユーザの該クライアントデバイスに送信することとを包含する、方法。
請求項15
ユーザ用のアカウント情報にアクセスすることをさらに包含し、トリガの識別に応答して送信することは、該アカウント情報と該トリガとの間の対応を必要とする、請求項14に記載の方法。
請求項16
対話型コンテンツをユーザのクライアントデバイスに提供する方法であって、該方法は、ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信することであって、該ビデオストリームは、1つ以上のトリガを含む、ことと、ユーザのアカウント情報にアクセスすることと、該ユーザのアカウント情報と該1つ以上のトリガとに基づいて、該ビデオプログラムをステッチャモジュールに転送することと、一連のビデオフレームを形成するために、該ビデオプログラムを該1つ以上のトリガに関連した追加のコンテンツと共にステッチすることと、該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送することとを包含する、方法。
請求項17
ステッチすることは、前記ユーザのアカウントが前記ビデオプログラムに対する前記1つ以上のトリガを示すエントリを含む場合に起こる、請求項16に記載の方法。
請求項18
前記ビデオフレームを前記クライアントデバイスと互換性のあるフォーマットに符号化することをさらに包含する、請求項16に記載の方法。
請求項19
前記フォーマットは、MPEGフォーマットである、請求項16に記載の方法。
請求項20
前記追加のコンテンツは、MPEGフォーマットである、請求項19に記載の方法。
請求項21
テレビジョン通信ネットワークに結合されたクライアントデバイス内で対話型コンテンツを開始する、コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータコードは、少なくとも1つのトリガを含む符号化された放送ビデオストリームを該テレビジョン通信ネットワークから該クライアントデバイスの中に受信するコンピュータコードと、該放送ビデオストリームを復号化するコンピュータコードと、第一のチャネル上に該放送ビデオストリームを出力するコンピュータコードと、該トリガを識別するコンピュータコードと、該トリガを識別すると、該クライアントデバイスを対話型コンテンツチャネルに同調させるコンピュータコードとを備える、コンピュータプログラム製品。
請求項22
前記クライアントデバイスから前記テレビジョン通信ネットワークを介して前記トリガを示す信号を送信するコンピュータコードをさらに備える、請求項21に記載のコンピュータプログラム製品。
請求項23
前記トリガに関連した対話型コンテンツを前記クライアントデバイスにおいて受信するコンピュータコードと、該対話型コンテンツを復号化するコンピュータコードと、該対話型コンテンツを表示デバイスに出力するコンピュータコードとをさらに備える、請求項21に記載のコンピュータプログラム製品。
請求項24
前記対話型コンテンツは、広告である、請求項21に記載のコンピュータプログラム製品。
請求項25
ユーザ用の1つ以上のコンテンツ識別子をメモリ内に格納するコンピュータコードと、少なくとも1つのトリガを含む符号化された放送ビデオストリームを前記テレビジョン通信ネットワークから前記クライアントデバイスの中に受信するコンピュータコードと、該放送ビデオストリームを復号化するコンピュータコードと、第一のチャネル上に該放送ビデオストリームを出力するコンピュータコードと、該放送ビデオストリーム内のトリガを識別するコンピュータコードと、コンテンツ識別子を該識別されたトリガと比較するコンピュータコードと、該コンテンツ識別子と該識別されたトリガとが一致する場合には、該クライアントデバイスを対話型チャネルに同調させるコンピュータコードとをさらに備える、請求項21に記載のコンピュータプログラム製品。
請求項26
前記コンテンツ識別子は、前記テレビジョン通信ネットワーク内の処理オフィスにおいて格納される、請求項25に記載のコンピュータプログラム製品。
請求項27
前記コンテンツ識別子は、前記クライアントデバイス内に格納される、請求項25に記載のコンピュータプログラム製品。
請求項28
プロセッサに、ビデオプログラムをユーザに提供させる、コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータコードは、ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信するコンピュータコードであって、該ビデオストリームは、1つ以上のトリガを含む、コンピュータコードと、トリガを識別することに応答して、ユーザのアカウント情報にアクセスするコンピュータコードと、該ユーザのアカウント情報に基づいて、該ビデオプログラムと、該トリガに関連した広告情報とをステッチャモジュールに転送するコンピュータコードと、一連のビデオフレームを形成するために、該ビデオプログラムを該広告情報とステッチするコンピュータコードと、該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送するコンピュータコードとを備える、コンピュータプログラム製品。
請求項29
前記ビデオプログラムの解像度を低減するコンピュータコードをさらに備え、前記広告情報は、該低減されたビデオプログラムをも含む複数のビデオフレームの中にステッチされる、請求項28に記載のコンピュータプログラム製品。
請求項30
前記ユーザのアカウント情報は、該ユーザがビデオプログラムに対する追加料金を支払わない代わりに該ユーザによって識別された該プログラムに対する広告を視聴することを望むことを示す、請求項28に記載のコンピュータプログラム製品。
請求項31
前記解像度を低減するコンピュータコードは、データを前記ビデオプログラムから取り除くコンピュータコードを備える、請求項29に記載のコンピュータプログラム製品。
請求項32
前記ビデオプログラムは、MPEGビデオとして符号化され、各々のビデオフレームは、MPEGビデオフレームである、請求項29に記載のコンピュータプログラム製品。
請求項33
コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータプログラムは、プロセッサに、対話型コンテンツをユーザのクライアントデバイスに提供させ、該コンピュータプログラムは、該ユーザの該クライアントデバイスと処理オフィスとの間のセッションを該処理オフィスにおいて確立するコンピュータコードと、放送ビデオプログラムを含むビデオストリームを該処理オフィスにおいて受信するコンピュータコードであって、該ビデオストリームは、1つ以上のトリガを含む、コンピュータコードと、トリガの識別に応答して、該クライアントデバイスを対話型チャネルに同調させる信号を該ユーザの該クライアントデバイスに送信するコンピュータコードとを備える、コンピュータプログラム製品。
請求項34
ユーザ用のアカウント情報にアクセスするコンピュータコードをさらに備え、前記トリガの識別に応答して送信するコンピュータコードは、該アカウント情報と該トリガとの間の対応を必要とする、請求項33に記載のコンピュータプログラム製品。
請求項35
プロセッサに、対話型コンテンツをユーザのクライアントデバイスに提供させる、コンピュータ読み取り可能媒体上のコンピュータコードを有するコンピュータプログラム製品であって、該コンピュータコードは、ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信するコンピュータコードであって、該ビデオストリームは、1つ以上のトリガを含む、コンピュータコードと、ユーザのアカウント情報にアクセスするコンピュータコードと、該ユーザのアカウント情報と該1つ以上のトリガとに基づいて、該ビデオプログラムをステッチャモジュールに転送するコンピュータコードと、一連のビデオフレームを形成するために、該ビデオプログラムを該1つ以上のトリガに関連した追加のコンテンツと共にステッチするコンピュータコードと、該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送するコンピュータコードとを備える、コンピュータプログラム製品。
請求項36
ステッチすることは、前記ユーザのアカウントが前記ビデオプログラムに対する前記1つ以上のトリガを示すエントリを含む場合に起こる、請求項35に記載のコンピュータプログラム製品。
請求項37
前記ビデオフレームを前記クライアントデバイスと互換性のあるフォーマットに符号化することをさらに備える、請求項35に記載のコンピュータプログラム製品。
請求項38
前記フォーマットは、MPEGフォーマットである、請求項35に記載のコンピュータプログラム製品。
請求項39
前記追加のコンテンツは、MPEGフォーマットである、請求項38に記載のコンピュータプログラム製品。
請求項40
ビデオプログラムをユーザに提供する方法であって、該方法は、ビデオプログラムを含むビデオストリームを処理オフィスにおいて受信することであって、該ビデオストリームは、1つ以上のトリガを含む、ことと、トリガを識別することに応答して、ユーザのアカウント情報にアクセスすることと、該ユーザのアカウント情報に基づいて、該ビデオプログラムと、該トリガに関連した追加のコンテンツとをステッチャモジュールに転送することと、一連のビデオフレームを形成するために、該ビデオプログラムを該広告情報とステッチすることと、該ビデオフレームを該ユーザと関連づけられたクライアントデバイスに伝送することとを包含する、方法。
类似技术:
公开号 | 公开日 | 专利标题
JP6490635B2|2019-03-27|情報処理装置、情報処理方法、及びプログラム
US10028029B2|2018-07-17|Generating user selectable media event using graphics page
US10341715B2|2019-07-02|Extensions to trigger parameters table for interactive television
US10210907B2|2019-02-19|Systems and methods for adding content to video/multimedia based on metadata
US10805691B2|2020-10-13|Virtual channel declarative script binding
US10587930B2|2020-03-10|Interactive user interface for television applications
US20180020268A1|2018-01-18|Methods, devices, and computer programs for streaming partitioned timed media data
KR102075174B1|2020-02-07|트리거 압축
CN103748896B|2018-05-08|用于访问来自多个内容源的内容的方法、接收装置和信息提供装置
US8676952B2|2014-03-18|User adaptive HTTP stream manager and method for using same
US20200004408A1|2020-01-02|Multiple-Mode System and Method for Providing User Selectable Video Content
CN1311687C|2007-04-18|运动图像专家组压缩标准第4版远程通信器件
US10200744B2|2019-02-05|Overlay rendering of user interface onto source video
EP2105012B2|2018-04-25|Systems and methods for creating custom video mosaic pages with local content
KR101318616B1|2013-10-15|트리거형 선언 오브젝트의 tv 중심 액션을 위한 방법, 장치 및 컴퓨터 판독가능 저장매체
US8032651B2|2011-10-04|News architecture for iTV
KR100825213B1|2008-04-25|사용자 모자이크를 생성하기 위한 비디오 전송 및 처리 시스템과 방법, 및 컴퓨터 프로그램을 기록한 기록매체
EP0848553B1|2004-11-17|Mapping uniform resource locators to broadcast addresses in a television signal
CN1156160C|2004-06-30|在交互电视应用中滚动编码mpeg静止画面的编码系统和方法
US9826197B2|2017-11-21|Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US7533406B2|2009-05-12|Systems and methods for generating a walled garden program for substantially optimized bandwidth delivery
US9077860B2|2015-07-07|System and method for providing video content associated with a source image to a television in a communication network
AU2003237120B2|2008-10-09|Supporting advanced coding formats in media files
US7667862B2|2010-02-23|Method and system for streaming images to wireless devices
US9769230B2|2017-09-19|Media streaming apparatus
同族专利:
公开号 | 公开日
BRPI0908131A2|2015-08-04|
US20080201736A1|2008-08-21|
IL207664D0|2010-12-30|
WO2009105465A2|2009-08-27|
CN102007773A|2011-04-06|
EP2269377A4|2012-11-07|
EP2269377A2|2011-01-05|
KR20100127240A|2010-12-03|
WO2009105465A3|2009-11-26|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-02-16| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120215 |
2013-02-05| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130204 |
2013-07-11| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130710 |
2013-10-10| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131009 |
2013-10-18| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131017 |
2013-11-09| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131108 |
2013-11-18| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131115 |
2013-12-10| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131209 |
2013-12-17| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131216 |
2013-12-19| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131218 |
2014-02-14| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140213 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]